package com.doubletick.proxy.ipidea.manager;

import com.doubletick.common.core.domain.AjaxResult;
import com.doubletick.proxy.ipidea.domain.ProxyAccount;
import com.doubletick.proxy.ipidea.util.FlowChargeDto;
import com.doubletick.proxy.ipidea.util.dto.account.ProxyAccountResult;
import com.doubletick.proxy.ipidea.util.dto.flow.FlowUserRecord;

import java.util.List;

public interface IProxyAccountManager {
    AjaxResult addAccount(String username, String password, String limitFlow, String remark);

    AjaxResult chargeFlow(FlowChargeDto chargeFlow);

    AjaxResult reduceFlow(FlowChargeDto reduceFlow);

    boolean saveList(ProxyAccountResult account , List<FlowUserRecord> flowList);

    AjaxResult update(ProxyAccount proxyAccount);

    AjaxResult proxyAccountList(ProxyAccount proxyAccount);
    AjaxResult userList(ProxyAccount proxyAccount);

    AjaxResult flowCount();
}
